
package com.schedualnew.mq.util;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

import java.util.List;
import java.util.Map;
import java.util.TreeMap;

public class JsonUtil
{
    public static String toJson(final Object obj) {
        return JSONObject.toJSONString(obj);
    }
    public static JSONObject toJsonObj(final String jsonStr) {
        return JSON.parseObject(jsonStr);
    }
    public static JSONArray toJsonArray(final String jsonStr) {
        return JSON.parseArray(jsonStr);
    }
    public static Map<String, Object> json2Map(final String jsonString) {
        final TreeMap<String, Object> map = (TreeMap<String, Object>)JSON.parseObject(jsonString, (Class)TreeMap.class);
        return map;
    }
    public static <T> List<T> json2List(final String jsonStr, final Class<T> clazz) {
        final List<T> list = (List<T>)JSON.parseArray(jsonStr, (Class)clazz);
        return list;
    }
    public static <T> T json2Bean(final String jsonStr, final Class<T> clazz) {
        return (T)JSON.parseObject(jsonStr, (Class)clazz);
    }
    public static <T> T jsonObj2Bean(final JSONObject jsonObj, final Class<T> clazz) {
        final String jsonStr = JSON.toJSONString((Object)jsonObj);
        return (T)JSON.parseObject(jsonStr, (Class)clazz);
    }
}
